﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BitTorrentSharp.Peers
{
	/// <summary>
	/// Represent as a extended message implements the Extension Protocol.
	/// </summary>
	public abstract class ExtendMessage : PeerNonKeepAliveMessage
	{
		/// <summary>
		/// Get the type of the message. This property always returns <see cref="PeerMessageType.Extended"/>.
		/// </summary>
		public override PeerMessageType Type
		{
			get
			{
				return PeerMessageType.Extended;
			}
		}

		protected override byte[] GetPayloadBytes()
		{
			throw new NotImplementedException();
		}

		protected abstract byte[] GetExtendedPayloadBytes();
	}
}
